package main
import (
	"fmt"
	"os"
	"io"
)

// 如何判断已经读取完毕，有两种方法
// 一种是看返回的n是否为0
// 另一种是查看err是否为io.EOF

func main() {
	file, err := os.Open("D:/dev/golang/dadi/test.txt")
	if err != nil {
		fmt.Println("open file err=", err)
		return
	}
	var strSlice []byte
	var tempSlice = make([]byte, 10)
	for {
		n, err := file.Read(tempSlice)
		if err == io.EOF { //表示已经读取完毕
			break
		}
		if err != nil {
			fmt.Println("read file err=", err)
			break
		}
		if n == 0 {
			// 表示已经读取完毕
			break
		}
		strSlice = append(strSlice, tempSlice[:n]...)
	}
	fmt.Println(string(strSlice))
}